package handler

import (
	"giftsend/api/request"
	"giftsend/inits"
	"giftsend/interface/models"
	"github.com/gin-gonic/gin"
)

func GiftShow(context *gin.Context) {
	var req request.CommentDelete
	err := context.ShouldBind(&req)
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "礼物详情成功",
			"data": err.Error(),
		})
		return
	}
	var gift models.Gift

	err = inits.DB.Where("id = ?", req.Id).Find(&gift).Error
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "评论删除失败",
			"data": "",
		})
		return
	}

	context.JSON(200, gin.H{
		"code": "200",
		"msg":  "礼物详情展示",
		"data": gift,
	})
}

func GiftUpdate(context *gin.Context) {
	var req request.GiftUpdate
	err := context.ShouldBind(&req)
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "评论修改失败",
			"data": err.Error(),
		})
		return
	}

	Gift := models.Gift{
		Id:       req.Id,
		Zbj:      req.Zbj,
		Stock:    req.Stock,
		FreeGift: req.FreeGift,
		Name:     req.Name,
	}

	err = inits.DB.Where("id = ?", req.Id).Updates(&Gift).Error
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "礼物送出失败",
			"data": "",
		})
		return
	}

	context.JSON(200, gin.H{
		"code": "200",
		"msg":  "礼物送出成功",
		"data": Gift,
	})
}

func GiftDelete(context *gin.Context) {
	var req request.GiftDelete
	err := context.ShouldBind(&req)
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "评论删除成功",
			"data": err.Error(),
		})
		return
	}
	Gift := models.Gift{
		Id: req.Id,
	}

	err = inits.DB.Where("id = ?", req.Id).Delete(&Gift).Error
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "评论删除失败",
			"data": "",
		})
		return
	}

	context.JSON(200, gin.H{
		"code": "200",
		"msg":  "礼物删除",
		"data": Gift,
	})
}

func Giftdetail(context *gin.Context) {
	var req request.GiftDetail
	err := context.ShouldBind(&req)
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "评论删除成功",
			"data": err.Error(),
		})
		return
	}
	var gift models.Gift

	err = inits.DB.Where("id = ?", req.Id).Find(&gift).Error
	if err != nil {
		context.JSON(500, gin.H{
			"code": "500",
			"msg":  "评论删除失败",
			"data": "",
		})
		return
	}

	context.JSON(200, gin.H{
		"code": "200",
		"msg":  "礼物详情",
		"data": gift,
	})
}
